/*
 * Copyright (c) 2014-2022 Stream.io Inc. All rights reserved.
 *
 * Licensed under the Stream License;
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.getstream.chat.android.models

import androidx.compose.runtime.Immutable

/**
 * Represents a successfully uploaded file.
 *
 * @param file The URL of the uploaded file.
 * @param thumbUrl The property is auto-generated when uploading videos using Stream CDN and can be used to display
 * video previews.
 * @param extraData The extra data associated with the uploaded file.
 */
@Immutable
public data class UploadedFile @JvmOverloads constructor(
    val file: String,
    val thumbUrl: String? = null,
    val extraData: Map<String, Any> = emptyMap(),
)
